<?php

//////////////////////////////////////////////////////////////////////////////80
// Active Controller
//////////////////////////////////////////////////////////////////////////////80
// Copyright (c) Atheos & Liam Siira (Atheos.io), distributed as-is and without
// warranty under the modified License: MIT - Hippocratic 1.2: firstdonoharm.dev
// See [root]/license.md for more. This information must remain intact.
//////////////////////////////////////////////////////////////////////////////80
// Authors: Codiad Team, @Fluidbyte, Atheos Team, @hlsiira
//////////////////////////////////////////////////////////////////////////////80

require_once('class.active.php');

$user = Common::data("user", "session");
$path = Common::data("path");

$Active = new Active();

switch ($action) {
	//////////////////////////////////////////////////////////////////////////80
	// Add active record
	//////////////////////////////////////////////////////////////////////////80
	case "add":
		$Active->add($user, $path);
		break;

	//////////////////////////////////////////////////////////////////////////80
	// Check if file is active
	//////////////////////////////////////////////////////////////////////////80
	case "check":
		$Active->check($user, $path);
		break;

	//////////////////////////////////////////////////////////////////////////80
	// Get user's active files
	//////////////////////////////////////////////////////////////////////////80
	case "list":
		$Active->listActive($user);
		break;

	//////////////////////////////////////////////////////////////////////////80
	// Rename
	//////////////////////////////////////////////////////////////////////////80
	case "rename":
		$newPath = Common::data("newPath");
		$Active->rename($path, $newPath);
		break;

	//////////////////////////////////////////////////////////////////////////80
	// Remove active record
	//////////////////////////////////////////////////////////////////////////80
	case "remove":
		$Active->remove($user, $path);
		break;

	//////////////////////////////////////////////////////////////////////////80
	// Remove all active record
	//////////////////////////////////////////////////////////////////////////80
	case "removeall":
		$Active->removeAll($user);
		break;

	//////////////////////////////////////////////////////////////////////////80
	// Mark file as focused
	//////////////////////////////////////////////////////////////////////////80
	case "setFocus":
		$Active->setFocus($user, $path);
		break;

	//////////////////////////////////////////////////////////////////////////80
	// Default: Invalid Action
	//////////////////////////////////////////////////////////////////////////80
	default:
		Common::sendJSON("E401i");
		break;
}